home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / arc44s.lbr / XARC.MQC / xarc.mac
Text File  |  1986-01-19  |  4KB  |  90 lines

  1. /*  XARC - Archive extraction utility
  2.  
  3. $define(tag,$$segment(@1,$$index(@1,=)+1))#
  4. $define(version,Version $tag(
  5. TED_VERSION DB =4.32), created on $tag(
  6. TED_DATE DB =11/08/85) at $tag(
  7. TED_TIME DB =23:37:47))#
  8. $undefine(tag)#
  9.     $version
  10.  
  11. (C) COPYRIGHT 1985 by System Enhancement Associates; ALL RIGHTS RESERVED
  12.  
  13.     By:  Thom Henderson
  14.  
  15.     Description:
  16.          This program is used to extract files from archives which were
  17.          created using the ARC general archive maintenance program.
  18.          Please refer to the ARC source for a description of archives
  19.          and archive formats.
  20.  
  21.     Instructions:
  22.          Run this program with no arguments for complete instructions.
  23.  
  24.     Programming notes:
  25.          This is essentially a stripped down version of ARC, including only
  26.          those routines required to extract files.
  27.  
  28.     Language:
  29.          Computer Innovations Optimizing C86
  30. */
  31. #include <stdio.h>
  32. #include "arc.h"
  33.  
  34. main(num,arg)                          /* system entry point */
  35. int num;                               /* number of arguments */
  36. char *arg[];                           /* pointers to arguments */
  37. {
  38.     char *makefnam();                  /* filename fixup routine */
  39.     char buf[$strlen];                 /* fixed filename storage */
  40.     char *d, *dir, *filedir();         /* file directory stuff */
  41.     int n;                             /* argument index */
  42.  
  43.     if(num<2)
  44.     {    printf("XARC - Archive extractor, $version\n");
  45.          printf("(C) COPYRIGHT 1985 by System Enhancement Associates;");
  46.          printf(" ALL RIGHTS RESERVED\n\n");
  47.          printf("Please refer all inquiries to:\n\n");
  48.          printf("  System Enhancement Associates\n");
  49.          printf("          21 New Street\n");
  50.          printf("        Wayne, NJ   07470\n\n");
  51.          printf("You may copy and distribute this program freely,");
  52.          printf(" provided that:\n");
  53.          printf("    1)   No fee is charged for such copying and");
  54.          printf(" distribution, and\n");
  55.          printf("    2)   It is distributed ONLY in its original,");
  56.          printf(" unmodified state.\n\n");
  57.          printf("If you like this program, and find it of use, then your");
  58.          printf(" contribution will\n");
  59.          printf("be appreciated.  If you are using this product in a");
  60.          printf(" commercial environment,\n");
  61.          printf("then the contribution is not voluntary.\n\n");
  62.          printf("If you fail to abide by the terms of this license, then");
  63.          printf(" your conscience\n");
  64.          printf("will haunt you for the rest of your life.\n\n");
  65.  
  66.          printf("Usage: XARC <arcname> [<arcname>. . .]\n\n");
  67.          printf("Where <arcname> is the name of an archive.");
  68.          printf("  If no filename extension is\n");
  69.          printf("supplied, then .ARC is assumed.\n");
  70.          return 1;
  71.     }
  72.  
  73.     for(n=1; n<num; n++)               /* for each argument */
  74.     {    makefnam(arg[n],".ARC",buf);
  75.          if(d=dir=filedir(buf,0))      /* if any matching archives */
  76.          {    while(*d)                /* work through each archive */
  77.               {    makefnam(d,buf,arcname);
  78.                    printf("Archive: %s\n",arcname);
  79.                    extarc();           /* extract all files */
  80.                    while(*d++);        /* go to next archive */
  81.               }
  82.               free(dir);
  83.          }
  84.          else printf("No such archive: %s\n",buf);
  85.     }
  86. }
  87.  
  88. $define(xarc,on)#
  89. $insert(arcext.mac)#
  90.